package com.ly.heart.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseVo;
import lombok.Data;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 金蝶-财务模块-单据类型对象 erp_king_doc_type_info
 * @author wutao
 * @date 2024-06-24
 */
@TableName ("erp_king_doc_type_info")
@ApiModel (value = "erp_king_doc_type_info对象", description = "金蝶-财务模块-单据类型")
@Data
public class KingDocTypeEntity extends BaseVo {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId (value = "id", type = IdType.INPUT)
    private String id;

    /**
     * 所属公司
     */
    @ApiModelProperty ("所属公司")
    @TableField ("dept_id")
    @Excel (name = "所属公司")
    private String deptId;

    /**
     * 单据级别
     */
    @ApiModelProperty ("单据级别")
    @TableField ("level")
    @Excel (name = "单据级别")
    private Integer level;

    /**
     * 所属父单据
     */
    @ApiModelProperty ("所属父单据，关联父单据的docCode字段")
    @TableField ("parent_code")
    @Excel (name = "所属父单据")
    private String parentCode;

    /**
     * 单据编码
     */
    @ApiModelProperty ("单据编码")
    @TableField ("doc_code")
    @Excel (name = "单据编码")
    private String docCode;

    /**
     * 单据名称
     */
    @ApiModelProperty ("单据名称")
    @TableField ("title")
    @Excel (name = "单据名称")
    private String title;

    /**
     * 单据名称
     */
    @ApiModelProperty ("编码规则")
    @TableField ("code_rule")
    @Excel (name = "编码规则")
    private String codeRule;

    /**
     * 单据名称
     */
    @ApiModelProperty ("系统生成的唯一标识符，通过一级拼接二级拼音首字母去判断业务类型")
    @TableField ("key_code")
    @Excel (name = "系统生成的唯一标识符，通过一级拼接二级拼音首字母去判断业务类型")
    private String keyCode;

    /**
     * 是否可用
     */
    @ApiModelProperty ("是否默认单据")
    @TableField ("is_default")
    @Excel (name = "是否默认单据")
    private Integer isDefault;

    /**
     * 是否可用
     */
    @ApiModelProperty ("是否发送")
    @TableField ("is_send")
    private Integer isSend;

    @ApiModelProperty("创建人")
    @TableField("create_by")
    private String createBy;

    @ApiModelProperty("创建时间")
    @TableField("create_time")
    private Date createTime;

    @ApiModelProperty("更新人")
    @TableField("update_by")
    private String updateBy;

    @ApiModelProperty("更新时间")
    @TableField("update_time")
    private Date updateTime;

    /**
     * 是否可用
     */
    @ApiModelProperty ("是否禁用，1：正常；2：禁用")
    @TableField ("is_disabled")
    private Integer isDisabled;

    /**
     * 是否可用
     */
    @ApiModelProperty ("是否可用")
    @TableField ("is_used")
    private Integer isUsed;

    @ApiModelProperty("相关子集")
    @TableField(exist = false)
    private List<KingDocTypeEntity> treeList = new ArrayList<> ();

    @TableField(exist = false)
    private String parentName;


}
